package org.zhq.core;

import java.io.Closeable;

/**
 *  发送数据的调度者
 *  缓存所有需要发送的数据,通过队列对数据进行发送
 *  并且在发送数据时,实现对数据的基本包装
 *
 * @author zhengquan
 * @date 2019/2/1
 */
public interface SendDispatcher extends Closeable {

    /**
     * 发送一份数据
     * @param packet
     */
    void send(SendPacket packet);


    /**
     * 发送一份心跳包
     */
    void sendHeartbeat();

    /**
     * 取消发送数据
     * @param packet
     */
    void cancel(SendPacket packet);

}
